// 将设置的开始时间和结束时间数组引入
import { start_date, end_date } from '@/public/package-js/date.js'

// 1、时间选择器打开展示的当前年月日
let pickerTime = () => {
	/* 进入页面获取当前的年月日 */
	const currentYear = new Date().getFullYear()  //当前年
	const currentMonth = new Date().getMonth() + 1 //当前月
	const currentDay =  new Date().getDate() //当前日
	const nextYear = currentYear + 1 //明年

	// console.log("年月日",currentYear,currentMonth,currentDay,nextYear);

	// （1）将计算的今年和明年年份填入 date.js 对应的年份数组
	// 这样年份就会展示今年和明年两个年份
	start_date[0] = [
		{ //今年
			time: currentYear,
			name: currentYear + '年'
		},
		{ //明年
			time: nextYear,
			name: nextYear + '年'
		},
	]

	end_date[0] = [
		{
			time: currentYear,
			name: currentYear + '年',
		},
		{
			time: nextYear,
			name: nextYear + '年',
		}
	]

	// console.log("start_date[0]",start_date[0]);
	// console.log("end_date[0]",end_date[0]);

	// （2）获取从当年月开始计算：当前月到最后的 12 月份
	for (let i = currentMonth; i <= 12; i++) { // 从当前月份开始遍历，将此后的月份 push 进对应月份数组
		start_date[1].push({
			time: Number(i),
			name: i + '月'
		})
		end_date[1].push({ 
			time: Number(i), 
			name: i + '月'
		})
	}

	// （3）获取当月的天数：从当前月开始计算  2023/1：当天到最后一天
	const days = new Date(currentYear,currentMonth,0).getDate() // 得到当前月的天数

	for(let i = currentDay; i <= days; i++){
		start_date[2].push({
			time:Number(i),
			name:i + '日'
		})
		end_date[2].push({
			time:Number(i),
			name:i + '日'
		})
	}
}


// 2、计算选择的月份对应的天数
let calDays = (years) => {
	const currentYear = new Date().getFullYear()  //当前年
	const currentMonth = new Date().getMonth() + 1 //当前月
	const currentDay =  new Date().getDate() //当前日

	// 如果滚动到当前年月，那么"日"要从今天currentDay算起，其余年月从 1日开始
	let init = years.year == currentYear && years.month == currentMonth ? currentDay : 1
	
	const newDayArr = [] //创建一个数组用来装新计算的天数
	//计算当月的天数
	let days = new Date(years.year,years.month,0).getDate()
	for (let i = Number(init); i <= days; i++) {
		newDayArr.push({ 
			time: Number(i), 
			name: i + '日'
		})
	}
	
	return newDayArr
}

// 3、计算选择的年份对应的月份（本年则从本月到 12月，明年则从 1月 到 12月）
let calMonths = (years) => {
	const currentMonth =  new Date().getMonth() + 1 //当前月
	const nextYear = new Date().getFullYear() + 1 //明年
	let month = years == nextYear ? 1 : currentMonth
	let newMonthArr = []
	for (let i = Number(month); i <= 12; i++) {
		newMonthArr.push({ 
			time: Number(i), 
			name: i + '月' 
		})
	}
	return newMonthArr
}


export { pickerTime, calMonths, calDays }
